package com.lanzuo.yxd.scanner.utils;

import com.alibaba.excel.EasyExcel;
import com.lanzuo.yxd.scanner.dto.ScanRecord;
import lombok.experimental.UtilityClass;

import java.io.File;
import java.util.List;

@UtilityClass
public class PanelSnExcelUtil {

    String FILE_PATH = "D:\\panels\\过站管控.xlsx";
    String FILE_TEMPLATE_PATH = "D:\\panels\\temp.xlsx";

    /**
     * 全量重写 Excel 文件
     */
    public static synchronized void append(List<ScanRecord> scanRecords) {
        File file = new File(FILE_PATH);
        File tempFile = new File(FILE_TEMPLATE_PATH);
        if (file.exists()) {
            // 第二次按照原有格式，不需要表头，追加写入
            EasyExcel.write(file, ScanRecord.class).needHead(false).
                    withTemplate(file).file(tempFile).sheet().doWrite(scanRecords);
        } else {
            // 第一次写入需要表头
            EasyExcel.write(file, ScanRecord.class).sheet().doWrite(scanRecords);
        }

        if (tempFile.exists()) {
            file.delete();
            tempFile.renameTo(file);
        }
    }

}
